package com.chinacoal.hr.levelimpl.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinacoal.hr.levelapi.entity.LeaveRecord;

import java.util.Map;

/**
 * @author: YunTao.Li
 * @create: 2019-11-12 12:23
 * @description:
 **/
public interface LeaveRecordService {

    public IPage<LeaveRecord> getLeaveRecordList(Map<String, Object> condition);

    public LeaveRecord getLeaveRecordByCondition(Map<String, Object> condition) throws Throwable;

    public Map<String, String> addLeaveRecord(LeaveRecord record);

    public Map<String, String> updateLeaveRecord(LeaveRecord record);

    public Map<String, String> deleteLeaveRecord(String LeaveId);

    /**
     * 提交请假单
     *
     * @param record :
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2019/11/18 2019/11/18
     */
    public Map<String, String> submitLeaveRecord(LeaveRecord record) throws Throwable;

    /**
     * 撤回请假单
     *
     * @param record :
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2019/11/18 2019/11/18
     */
    public Map<String, String> drawbackLeaveRecord(LeaveRecord record) throws Throwable;

    /**
     * 获得某年月某人的请假记录
     *
     * @param yrmonth :
     * @param empcode :
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2020/7/20 2020/7/20
     */
    public Map<String, String> getYrmonthLeaveRecord(String yrmonth, String empcode);

}
